Interlacing is used to protect data against transmission errors. The general principle of interlacing is to make these transmission errors random. This is done during transmission by dispersing bits, particularly words or bytes, in a transmitted data stream to avoid a large number of bits belonging to the same coding word from being subjected to identical transmission noise. On reception, the bits, particularly the words or bytes, are then resequenced into the order in which they would have been before they were interlaced.
To interlace an incident data stream, the data stream is divided into blocks of bits, and the interlacing itself is done on each of the blocks. To achieve this, the bits, and particularly the words or bytes in each block, are entered into an interlacing table in which the characteristics correspond to predefined interlacing, namely the length of coding words L and the interlacing depth I. The length of the coding words corresponds to the number of bit sets in each row in the interlacing table. The interlacing depth I is a predetermined integer number corresponding to the number of consecutive coding words, and therefore to the number of rows in the interlacing table. The increase in the interlacing depth I increases the efficiency of the interlacing method, namely the protection against transmission noise. However, this increase necessitates the use of an interlacing table with a higher capacity, and consequently, leads to a significant increase in the time taken by the processing necessary for interlacing the data. This type of increase in the data processing time is a major disadvantage in telecommunications.
To interlace an incident data stream, the data stream is divided into blocks, with each block having LxI bit sets. The bits in each data block are written in the form of successive rows of bit sets in the interlacing table, and bit sets for each block are extracted in a different order, for example, column by column.
It frequently occurs that the number of bits in the last processed block is less than the number of memory addresses in the interlacing table, that is, less than Lxi. In this case, the interlacing for the bits in this block is less efficient than the interlacing for the bits in the previous block since they are less dispersed.
To overcome this disadvantage, a dynamic interlacing method has been proposed by which two interlacing depths I1 and I2 are used, and according to which, a number of blocks are interlaced using the first interlacing depth I1, and consecutive blocks are then interlaced using the second interlacing depth I2. This avoids less interlacing being applied for the last block.
According to these techniques for interlacing digital data, two interlacing tables are used for writing and reading two consecutive data blocks. Thus, at any one instant, a first memory is used to write bit sets in block B, while the other memory is used to read the bit sets in the previous block B−1. After processing the bits in block B−1, the first memory is used to read bits in block B, while the other memory is used to write bits in a consecutive block B+1. Thus, these interlacing techniques require the use of high capacity memories, such as memories with a global capacity that is twice the capacity actually necessary to store all bits in each block.